Semantics and Types in Functional Logic Programming
نویسندگان
چکیده
The rewriting logic CRWL has been proposed as a semantic framework for higher-order functional logic programming, using applicative rewriting systems as programs and lazy narrowing as the goal solving procedure. We present an extension of CRWL with a polymorphic type system, and we investigate the consequences of type discipline both at the semantic level and at the operational level. Semantically, models must be extended to incorporate a type universe. Operationally, lazy narrowing must maintain suitable type information in goals, in order to guarantee well-typed computed answers.
منابع مشابه
A Fully Abstract Semantics for a Concurrent Functional Language with Monadic Types
This paper presents a typed higher-order concurrent functional programming language, based on Moggi’s monadic metalanguage and Reppy’s Concurrent ML. We present an operational semantics for the language, and show that a higherorder variant of the traces model is fully abstract for maytesting. This proof uses a program logic based on Hennessy– Milner logic and Abramsky’s domain theory in logical...
متن کاملResolving Inductive Definitions with Binders in Higher-Order Typed Functional Programming
This paper studies inductive definitions involving binders, in which aliasing between free and bound names is permitted. Such aliasing occurs in informal specifications of operational semantics, but is excluded by the common representation of binding as meta-level λabstraction. Drawing upon ideas from functional logic programming, weion. Drawing upon ideas from functional logic programming, we ...
متن کاملA Denotational Semantics for Curry
We aim to build a denotational semantics for the functional logic programming language Curry, to be used for parametricity and logical relation arguments. First, we investigate only a subset of Curry, but include the important features that separate Curry from a just functional language. We compare a poweralgebraic and a multialgebraic semantic approach and motivate our decision for the multial...
متن کاملAcceptors as Values Functional Programming in Classical Linear Logic ( Technical Summary )
Girard’s linear logic has been previously applied to functional programming for performing state-manipulation and controlling storage reuse. These applications only use intuitionistic linear logic, the subset of linear logic that embeds intuitionistic logic. Full linear logic (called classical linear logic) is much richer than this subset. In this paper, we consider the application of classical...
متن کاملA Debugging Model for Functional Logic Programs
This paper presents a box-oriented debugging model for the functional logic language ALF. Due to the sophisticated operational semantics of ALF which is based on innermost basic narrowing with simplification, the debugger must reflect the application of the different computation rules during program execution. Hence our debugging model includes not only one box type as in Byrd’s debugging model...
متن کاملAlgebraic Semantics for Functional Logic Programming with Polymorphic Order-Sorted Types
In this paper we present the semantics of a functional logic language with parametric and order-sorted polymorphism. Typed programs consist of a polymorphic signature and a set of constructor-based conditional rewriting rules for which we deene a semantic calculus. The denotational semantics of the language is based on Scott domains interpreting constructors and functions by monotonic and conti...
متن کامل